using System;
using System.Collections.Generic;
using System.IO;

namespace PluginFrame
{
	public interface IMiscService
	{
		List<string> UnZipFiles(string fileToUnZip, string unzipDirectory, int blockSize, string password);

		void ZipFiles(string[] filesToZip, string zipedFile, int compressionLevel, int blockSize, string password);

		void ShowErrorMessage(Exception ex);

		string TimeToFileFormatString(DateTime dateTime, string connector);

		void SerializeBinaryFile(string fileName, FileMode fileMode, object obj);

		object DeSerializeBinaryFile(string fileName);

		bool IsValidPath(string path);

		bool CheckPathIsExist(string strPath);

		bool CheckPathIsExist(string path, bool isCreatePath);

		int CovertTimeStringToSecond(string time);

		double ConvertActualIntervalFromPixel(double pixelDistance, double pixelValueRatio, double interval);

		byte GenerateCheckSum(List<byte> bytes, int startIndex, int stopIndex);

		void CalculateLineLeastSquare(double[] xData, double[] yData, ref double slope, ref double intercept, ref double linearity);

		void Beeps(int frequency, int duration, int count, int delay);

		List<double>[] InterpData(double[] xValue, double[] yValue, double interpStep, bool isAddRawPoint);

		List<double>[] LagrangeInterpData(double[] xValue, double[] yValue, double interpStep);

		List<double>[] LineInterpData(double[] xValue, double[] yValue, double interpStep);

		string FindSerialPortForExperiment(string serialPortName, string serialPortDeviceName);

		List<string> FindSerialPortsInComputer();

		bool IsControlKeyPress();

		string ConvertScientificString(string source, string format);

		void ClearMemory();
	}
}
